use melior::pass::Pass;

use crate::rust_side::{
    mlirAffineCreateAffineScalarReplacementPass, mlirAffineCreateLoopFusionPass,
    mlirToyCreateLowerToAffinePass,
};

pub fn toy_create_lower_to_affine() -> Pass {
    unsafe { Pass::from_raw_fn(mlirToyCreateLowerToAffinePass) }
}

pub fn affine_create_loop_fusion() -> Pass {
    unsafe { Pass::from_raw_fn(mlirAffineCreateLoopFusionPass) }
}
pub fn affine_create_affine_scalar_replacement() -> Pass {
    unsafe { Pass::from_raw_fn(mlirAffineCreateAffineScalarReplacementPass) }
}
